From 9ed0abb5103150cebc84852d9ec4253eb61bc473 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 8 Dec 2008 02:39:28 +0000 Subject: [PATCH] Call gtk_show_uri() if no uri hook has been set. Patch by Emmanuele Bassi * gtk/gtklinkbutton.c: Call gtk_show_uri() if no uri hook has been set. Patch by Emmanuele Bassi svn path=/trunk/; revision=21853 --- ChangeLog | 7 +++++++ gtk/gtklinkbutton.c | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/ChangeLog b/ChangeLog index 4ee30d116d..97e74dca26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-12-07 Matthias Clasen + + Bug 554274 – Add default hook for GtkLinkButton + + * gtk/gtklinkbutton.c: Call gtk_show_uri() if no uri hook has + been set. Patch by Emmanuele Bassi + 2008-12-07 Matthias Clasen Bug 559325 – documentation for gdk_display_get_window_at_pointer() diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c index 6db17a933b..02a9e04860 100644 --- a/gtk/gtklinkbutton.c +++ b/gtk/gtklinkbutton.c @@ -474,6 +474,26 @@ gtk_link_button_clicked (GtkButton *button) if (uri_func) (* uri_func) (link_button, link_button->priv->uri, uri_func_data); + else + { + GdkScreen *screen; + GError *error; + + if (gtk_widget_has_screen (GTK_WIDGET (button))); + screen = gtk_widget_get_screen (GTK_WIDGET (button)); + else + screen = NULL; + + error = NULL; + gtk_show_uri (screen, link_button->priv->uri, GDK_CURRENT_TIME, &error); + if (error) + { + g_warning ("Unable to show '%s': %s", + link_button->priv->uri, + error->message); + g_error_free (error); + } + } gtk_link_button_set_visited (link_button, TRUE); } @@ -690,6 +710,8 @@ gtk_link_button_get_uri (GtkLinkButton *link_button) * a #GtkLinkButton. This function is called before every callback registered * for the "clicked" signal. * + * If no uri hook has been set, GTK+ defaults to calling gtk_show_uri(). + * * Return value: the previously set hook function. * * Since: 2.10 -- 2.30.2